var readline = require('readline-sync')
readline.setDefaultOptions({ prompt: '' })
var readline = readline.prompt

let arrJins = readline().split(' ').map((item) => parseInt(item)) // 得出每种水果要多少斤
let arrPrice = readline().split(' ').map((item) => parseInt(item)) // 得出每种水果要多少钱前一斤
let line
let minPrice = Infinity
while (line = readline()) { // 不断的读
  let arrTao = line.split(' ').map((item) => parseInt(item)) // 得出套餐a中各个是多少斤,总共多少钱
  let count = Infinity // 购买套餐的数量
  for (let i = 0; i < arrJins.length; i++) {
    count = Math.min(Math.floor(arrJins[i] / arrTao[i]), count) // 数量
  }
  let totalPrice = count * arrTao[arrTao.length - 1] // 总价格
  for (let i = 0; i < arrJins.length; i++) {
    totalPrice += ((arrJins[i] - arrTao[i] * count) * arrPrice[i])
  }
  minPrice = Math.min(minPrice, totalPrice)
}
console.log(minPrice);
// let [Atat, Atbt, Atap] = readline().split(' ').map((item) => parseInt(item)) // 得出套餐a中a多少斤,b多少斤,多少钱
// let [Btat, Btbt, Btbp] = readline().split(' ').map((item) => parseInt(item)) // 得出套餐b中a多少斤,b多少斤,多少钱
// // 对于a套餐
// // 计算以ab那个标准最划算
// let Aabc = Math.floor(at / Atat) // 这么多个
// let ABbc = Math.floor(bt / Atbt) // 这么多个
// // 取两者较小的
// let count = Math.min(Aabc, ABbc) // 最小的
// let Aprice = Atap * count + (at - Atat * count) * ap + (bt - Atbt * count) * bp // 这个的价格
// // 对于b套餐
// let Babc = Math.floor(at / Btat)
// let BBbc = Math.floor(bt / Btbt)
// let countB = Math.min(Babc, BBbc)
// let Bprice = Btbp * countB + (at - Btat * countB) * ap + (bt - Btbt * countB) * bp
// let res = Math.min(Aprice, Bprice)
// console.log(res);


